/*
 * Copyright (C) 2018 Zhejiang xiaominfo Technology CO.,LTD.
 * All rights reserved.
 * Official Web Site: http://www.xiaominfo.com.
 * Developer Web Site: http://open.xiaominfo.com.
 */

package com.github.xiaoymin.map.util;

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

/**
 * 针对Gson的一些常规处理操作
 * @author <a href="mailto:xiaoymin@foxmail.com">xiaoymin@foxmail.com</a>
 * 2020/09/23 10:07
 * @since:map-client 1.0
 */
public class GsonUtils {
    /**
     * 获取jsonObject
     * @param source 原始json
     * @param key 属性key
     * @return jsonObject对象
     */
    public static JsonObject getJsonEle(JsonElement source, String key){
        if (source!=null&&source.isJsonObject()&&source.getAsJsonObject()!=null){
            JsonElement keyJson=source.getAsJsonObject().get(key);
            if (keyJson!=null&&keyJson.isJsonObject()){
                return keyJson.getAsJsonObject();
            }
        }
        return null;
    }

    /**
     * 获取jsonObject对象
     * @param source 原始json
     * @param key 属性key
     * @return jsonobject对象
     */
    public static JsonObject getJsonObj(JsonObject source, String key){
        if (source!=null){
            JsonElement keyJson=source.get(key);
            if (keyJson!=null&&keyJson.isJsonObject()){
                return keyJson.getAsJsonObject();
            }
        }
        return null;
    }
    /**
     * 获取String的值
     * @param jsonObject json对象
     * @param key 属性key
     * @return string类型值
     */
    public static String getString(JsonObject jsonObject,String key){
        if (jsonObject!=null){
            JsonElement strJson=jsonObject.get(key);
            if (strJson!=null){
                return strJson.getAsString();
            }
        }
        return null;
    }
}
